{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import sys \n",
    "from os import getcwd, path\n",
    "sys.path.append(path.dirname(getcwd()))\n",
    "from os import path, getcwd, environ\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from utils import data\n",
    "\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'dataframe_hash': -2899676230513618006,\n",
      " 'provenance_file_summary': {u'cohorts': u'0.4.0+3.gda968fb',\n",
      "                             u'isovar': u'0.0.6',\n",
      "                             u'mhctools': u'0.3.0',\n",
      "                             u'numpy': u'1.11.1',\n",
      "                             u'pandas': u'0.18.1',\n",
      "                             u'pyensembl': u'1.0.3',\n",
      "                             u'scipy': u'0.18.1',\n",
      "                             u'topiary': u'0.1.0',\n",
      "                             u'varcode': u'0.5.10'}}\n"
     ]
    }
   ],
   "source": [
    "cohort = data.init_cohort()\n",
    "df_annotations = cohort.load_polyphen_annotations(as_dataframe=True)\n",
    "df_annotations = df_annotations[df_annotations.annotation_found]\n",
    "df_annotations[\"chr_short\"] = df_annotations.chrom.apply(lambda s: s.split(\"chr\")[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df_ddr_genes = pd.read_excel(\n",
    "    path.join(data.REPO_DATA_DIR, \"ddr_gene_list.xlsx\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "ddr_cols = list(df_ddr_genes.columns)\n",
    "ddr_cols.remove(\"CellSig\")\n",
    "ddr_cols.remove(\"Lit\")\n",
    "ddr_cols = ddr_cols[1:11]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def keep_gene(row):\n",
    "    gene = row[\"Gene\"]\n",
    "    for ddr_col in ddr_cols:\n",
    "        if str(row[ddr_col]).strip() == \"1\":\n",
    "            return True\n",
    "    return False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df_ddr_genes[\"keep_gene\"] = df_ddr_genes.apply(keep_gene, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "ddr_gene_names = set(df_ddr_genes[df_ddr_genes.keep_gene].Gene)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "406"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df_ddr_genes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "352"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(ddr_gene_names)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "aliases = pd.read_csv(path.join(data.REPO_DATA_DIR, \"Homo_sapiens.gene_info\"), delimiter=\"\\t\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "synmap = {}\n",
    "for i, row in aliases.iterrows():\n",
    "    symbol = row[\"Symbol\"]\n",
    "    syns = set(row[\"Synonyms\"].split(\"|\"))\n",
    "    if \"-\" in syns:\n",
    "        syns.remove(\"-\")\n",
    "    syns.add(symbol)\n",
    "    new_syns = set()\n",
    "    for syn in syns:\n",
    "        new_syns.add(syn.upper())\n",
    "        new_syns.add(syn)\n",
    "    syns = new_syns\n",
    "    for syn in syns:\n",
    "        synmap[syn] = syns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "id_map = {\"MGC90512\": \"ENSG00000242537\",\n",
    "          \"MRE11B\": \"ENSG00000242537\",\n",
    "          \"FLJ35220\": \"ENSG00000173818\",\n",
    "          \"SE20-4\": \"ENSG00000184205\"}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Alias not found for MYT2\n"
     ]
    }
   ],
   "source": [
    "from pyensembl import cached_release\n",
    "ensembl = cached_release(\"75\")\n",
    "ddr_genes = set()\n",
    "for gene_name in ddr_gene_names:\n",
    "    def get_gene(gene_name):\n",
    "        all_possible_genes = set()\n",
    "        if gene_name.upper() in id_map.keys():\n",
    "            all_possible_genes = set([ensembl.gene_by_id(id_map[gene_name.upper()])])\n",
    "        else:\n",
    "            if gene_name.upper() not in synmap:\n",
    "                return None\n",
    "            syns = synmap[gene_name.upper()]\n",
    "            for syn in syns:\n",
    "                try:\n",
    "                    possible_genes = ensembl.genes_by_name(syn)\n",
    "                except:\n",
    "                    continue\n",
    "                for possible_gene in possible_genes:\n",
    "                    all_possible_genes.add(possible_gene) \n",
    "        if len(all_possible_genes) == 0:\n",
    "            return None\n",
    "        return all_possible_genes\n",
    "    genes = get_gene(gene_name)\n",
    "    if genes is not None:\n",
    "        for gene in genes:\n",
    "            ddr_genes.add(gene)\n",
    "    else:\n",
    "        print(\"Alias not found for %s\" % gene_name)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "ddr_annotations = []\n",
    "for gene in ddr_genes:\n",
    "    df_annotations_gene = df_annotations[\n",
    "        (df_annotations.chr_short == gene.contig) & \n",
    "        (df_annotations.pos >= gene.start) &\n",
    "        (df_annotations.pos <= gene.end)]\n",
    "    if len(df_annotations_gene) > 0:\n",
    "        ddr_annotations.append(df_annotations_gene)\n",
    "df_ddr_annotations = pd.concat(ddr_annotations)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>chrom</th>\n",
       "      <th>pos</th>\n",
       "      <th>ref</th>\n",
       "      <th>alt</th>\n",
       "      <th>annotation_found</th>\n",
       "      <th>gene</th>\n",
       "      <th>protein</th>\n",
       "      <th>aa_change</th>\n",
       "      <th>hvar_pred</th>\n",
       "      <th>hvar_prob</th>\n",
       "      <th>hdiv_pred</th>\n",
       "      <th>hdiv_prob</th>\n",
       "      <th>patient_id</th>\n",
       "      <th>chr_short</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1481</th>\n",
       "      <td>chr2</td>\n",
       "      <td>48023086</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>MSH6</td>\n",
       "      <td>P52701-2</td>\n",
       "      <td>E171K</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.060</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.065</td>\n",
       "      <td>2131</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>405</th>\n",
       "      <td>chr10</td>\n",
       "      <td>112341725</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>SMC3</td>\n",
       "      <td>Q9UQE7</td>\n",
       "      <td>E198K</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.765</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.969</td>\n",
       "      <td>2131</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>557</th>\n",
       "      <td>chr3</td>\n",
       "      <td>37067192</td>\n",
       "      <td>C</td>\n",
       "      <td>T</td>\n",
       "      <td>True</td>\n",
       "      <td>MLH1</td>\n",
       "      <td>P40692</td>\n",
       "      <td>S368L</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.011</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.016</td>\n",
       "      <td>5122</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2486</th>\n",
       "      <td>chr8</td>\n",
       "      <td>141521728</td>\n",
       "      <td>C</td>\n",
       "      <td>G</td>\n",
       "      <td>True</td>\n",
       "      <td>CHRAC1</td>\n",
       "      <td>Q9NRG0</td>\n",
       "      <td>L44V</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.038</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.103</td>\n",
       "      <td>0040</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>chr1</td>\n",
       "      <td>76345769</td>\n",
       "      <td>C</td>\n",
       "      <td>T</td>\n",
       "      <td>True</td>\n",
       "      <td>MSH4</td>\n",
       "      <td>O15457</td>\n",
       "      <td>S571L</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.543</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.775</td>\n",
       "      <td>1849</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>799</th>\n",
       "      <td>chr19</td>\n",
       "      <td>49510391</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>RUVBL2</td>\n",
       "      <td>B3KNL2</td>\n",
       "      <td>G94S</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.997</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>2849</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1385</th>\n",
       "      <td>chr19</td>\n",
       "      <td>18966045</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>UPF1</td>\n",
       "      <td>Q92900-2</td>\n",
       "      <td>G513D</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.071</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.086</td>\n",
       "      <td>0040</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>574</th>\n",
       "      <td>chr19</td>\n",
       "      <td>18965421</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>UPF1</td>\n",
       "      <td>Q92900-2</td>\n",
       "      <td>E390K</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.753</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.942</td>\n",
       "      <td>6800</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>273</th>\n",
       "      <td>chr12</td>\n",
       "      <td>4655502</td>\n",
       "      <td>G</td>\n",
       "      <td>C</td>\n",
       "      <td>True</td>\n",
       "      <td>RAD51AP1</td>\n",
       "      <td>Q96B01-2</td>\n",
       "      <td>Q79H</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.939</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.999</td>\n",
       "      <td>2937</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2720</th>\n",
       "      <td>chrX</td>\n",
       "      <td>135584986</td>\n",
       "      <td>G</td>\n",
       "      <td>C</td>\n",
       "      <td>True</td>\n",
       "      <td>HTATSF1</td>\n",
       "      <td>O43719</td>\n",
       "      <td>R207T</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.986</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.999</td>\n",
       "      <td>2131</td>\n",
       "      <td>X</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>chr1</td>\n",
       "      <td>3624149</td>\n",
       "      <td>A</td>\n",
       "      <td>C</td>\n",
       "      <td>True</td>\n",
       "      <td>TP73</td>\n",
       "      <td>O15350</td>\n",
       "      <td>M75L</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.000</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1249</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1061</th>\n",
       "      <td>chr17</td>\n",
       "      <td>33329785</td>\n",
       "      <td>G</td>\n",
       "      <td>T</td>\n",
       "      <td>True</td>\n",
       "      <td>LIG3</td>\n",
       "      <td>E5KLB6</td>\n",
       "      <td>D925Y</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.440</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.924</td>\n",
       "      <td>2131</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>355</th>\n",
       "      <td>chr11</td>\n",
       "      <td>68673674</td>\n",
       "      <td>C</td>\n",
       "      <td>T</td>\n",
       "      <td>True</td>\n",
       "      <td>IGHMBP2</td>\n",
       "      <td>P38935</td>\n",
       "      <td>A75V</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.003</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.021</td>\n",
       "      <td>5037</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1264</th>\n",
       "      <td>chr6</td>\n",
       "      <td>43555016</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>POLH</td>\n",
       "      <td>Q9Y253</td>\n",
       "      <td>E94K</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.405</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.756</td>\n",
       "      <td>2849</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>482</th>\n",
       "      <td>chr2</td>\n",
       "      <td>152322420</td>\n",
       "      <td>C</td>\n",
       "      <td>G</td>\n",
       "      <td>True</td>\n",
       "      <td>RIF1</td>\n",
       "      <td>Q5UIP0-2</td>\n",
       "      <td>S2129C</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.074</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.205</td>\n",
       "      <td>5122</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2561</th>\n",
       "      <td>chr9</td>\n",
       "      <td>106880654</td>\n",
       "      <td>G</td>\n",
       "      <td>C</td>\n",
       "      <td>True</td>\n",
       "      <td>SMC2</td>\n",
       "      <td>Q2KQ72</td>\n",
       "      <td>G665A</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>0040</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>374</th>\n",
       "      <td>chr11</td>\n",
       "      <td>108205807</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>ATM</td>\n",
       "      <td>Q13315</td>\n",
       "      <td>D2708N</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>5037</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>935</th>\n",
       "      <td>chrX</td>\n",
       "      <td>24745098</td>\n",
       "      <td>C</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>POLA1</td>\n",
       "      <td>P09884</td>\n",
       "      <td>H475N</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.880</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.957</td>\n",
       "      <td>0471</td>\n",
       "      <td>X</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>628</th>\n",
       "      <td>chr3</td>\n",
       "      <td>10076860</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>FANCD2</td>\n",
       "      <td>Q9BXW9-4</td>\n",
       "      <td>M127I</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.002</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.000</td>\n",
       "      <td>2389</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>788</th>\n",
       "      <td>chr8</td>\n",
       "      <td>30999012</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>WRN</td>\n",
       "      <td>Q14191</td>\n",
       "      <td>E1012K</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.650</td>\n",
       "      <td>possibly damaging</td>\n",
       "      <td>0.710</td>\n",
       "      <td>1849</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1383</th>\n",
       "      <td>chr8</td>\n",
       "      <td>11640828</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>NEIL2</td>\n",
       "      <td>Q969S2</td>\n",
       "      <td>R203Q</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.991</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>2849</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>478</th>\n",
       "      <td>chr2</td>\n",
       "      <td>113326455</td>\n",
       "      <td>C</td>\n",
       "      <td>G</td>\n",
       "      <td>True</td>\n",
       "      <td>POLR1B</td>\n",
       "      <td>Q9H9Y6</td>\n",
       "      <td>R684G</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>5122</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>253</th>\n",
       "      <td>chr11</td>\n",
       "      <td>67163284</td>\n",
       "      <td>G</td>\n",
       "      <td>A</td>\n",
       "      <td>True</td>\n",
       "      <td>RAD9A</td>\n",
       "      <td>Q99638</td>\n",
       "      <td>E183K</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.998</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>2849</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1754</th>\n",
       "      <td>chr7</td>\n",
       "      <td>6777016</td>\n",
       "      <td>C</td>\n",
       "      <td>T</td>\n",
       "      <td>True</td>\n",
       "      <td>PMS2CL</td>\n",
       "      <td>Q68D20</td>\n",
       "      <td>T99M</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.001</td>\n",
       "      <td>benign</td>\n",
       "      <td>0.048</td>\n",
       "      <td>5037</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2229</th>\n",
       "      <td>chr6</td>\n",
       "      <td>88317444</td>\n",
       "      <td>G</td>\n",
       "      <td>C</td>\n",
       "      <td>True</td>\n",
       "      <td>ORC3L</td>\n",
       "      <td>Q9UBD5-2</td>\n",
       "      <td>D161H</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>0.965</td>\n",
       "      <td>probably damaging</td>\n",
       "      <td>1.000</td>\n",
       "      <td>0040</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      chrom        pos ref alt annotation_found      gene   protein aa_change  \\\n",
       "1481   chr2   48023086   G   A             True      MSH6  P52701-2     E171K   \n",
       "405   chr10  112341725   G   A             True      SMC3    Q9UQE7     E198K   \n",
       "557    chr3   37067192   C   T             True      MLH1    P40692     S368L   \n",
       "2486   chr8  141521728   C   G             True    CHRAC1    Q9NRG0      L44V   \n",
       "37     chr1   76345769   C   T             True      MSH4    O15457     S571L   \n",
       "799   chr19   49510391   G   A             True    RUVBL2    B3KNL2      G94S   \n",
       "1385  chr19   18966045   G   A             True      UPF1  Q92900-2     G513D   \n",
       "574   chr19   18965421   G   A             True      UPF1  Q92900-2     E390K   \n",
       "273   chr12    4655502   G   C             True  RAD51AP1  Q96B01-2      Q79H   \n",
       "2720   chrX  135584986   G   C             True   HTATSF1    O43719     R207T   \n",
       "13     chr1    3624149   A   C             True      TP73    O15350      M75L   \n",
       "1061  chr17   33329785   G   T             True      LIG3    E5KLB6     D925Y   \n",
       "355   chr11   68673674   C   T             True   IGHMBP2    P38935      A75V   \n",
       "1264   chr6   43555016   G   A             True      POLH    Q9Y253      E94K   \n",
       "482    chr2  152322420   C   G             True      RIF1  Q5UIP0-2    S2129C   \n",
       "2561   chr9  106880654   G   C             True      SMC2    Q2KQ72     G665A   \n",
       "374   chr11  108205807   G   A             True       ATM    Q13315    D2708N   \n",
       "935    chrX   24745098   C   A             True     POLA1    P09884     H475N   \n",
       "628    chr3   10076860   G   A             True    FANCD2  Q9BXW9-4     M127I   \n",
       "788    chr8   30999012   G   A             True       WRN    Q14191    E1012K   \n",
       "1383   chr8   11640828   G   A             True     NEIL2    Q969S2     R203Q   \n",
       "478    chr2  113326455   C   G             True    POLR1B    Q9H9Y6     R684G   \n",
       "253   chr11   67163284   G   A             True     RAD9A    Q99638     E183K   \n",
       "1754   chr7    6777016   C   T             True    PMS2CL    Q68D20      T99M   \n",
       "2229   chr6   88317444   G   C             True     ORC3L  Q9UBD5-2     D161H   \n",
       "\n",
       "              hvar_pred  hvar_prob          hdiv_pred  hdiv_prob patient_id  \\\n",
       "1481             benign      0.060             benign      0.065       2131   \n",
       "405   possibly damaging      0.765  probably damaging      0.969       2131   \n",
       "557              benign      0.011             benign      0.016       5122   \n",
       "2486             benign      0.038             benign      0.103       0040   \n",
       "37    possibly damaging      0.543  possibly damaging      0.775       1849   \n",
       "799   probably damaging      0.997  probably damaging      1.000       2849   \n",
       "1385             benign      0.071             benign      0.086       0040   \n",
       "574   possibly damaging      0.753  possibly damaging      0.942       6800   \n",
       "273   probably damaging      0.939  probably damaging      0.999       2937   \n",
       "2720  probably damaging      0.986  probably damaging      0.999       2131   \n",
       "13               benign      0.000             benign      0.000       1249   \n",
       "1061             benign      0.440  possibly damaging      0.924       2131   \n",
       "355              benign      0.003             benign      0.021       5037   \n",
       "1264             benign      0.405  possibly damaging      0.756       2849   \n",
       "482              benign      0.074             benign      0.205       5122   \n",
       "2561  probably damaging      1.000  probably damaging      1.000       0040   \n",
       "374   probably damaging      1.000  probably damaging      1.000       5037   \n",
       "935   possibly damaging      0.880  probably damaging      0.957       0471   \n",
       "628              benign      0.002             benign      0.000       2389   \n",
       "788   possibly damaging      0.650  possibly damaging      0.710       1849   \n",
       "1383  probably damaging      0.991  probably damaging      1.000       2849   \n",
       "478   probably damaging      1.000  probably damaging      1.000       5122   \n",
       "253   probably damaging      0.998  probably damaging      1.000       2849   \n",
       "1754             benign      0.001             benign      0.048       5037   \n",
       "2229  probably damaging      0.965  probably damaging      1.000       0040   \n",
       "\n",
       "     chr_short  \n",
       "1481         2  \n",
       "405         10  \n",
       "557          3  \n",
       "2486         8  \n",
       "37           1  \n",
       "799         19  \n",
       "1385        19  \n",
       "574         19  \n",
       "273         12  \n",
       "2720         X  \n",
       "13           1  \n",
       "1061        17  \n",
       "355         11  \n",
       "1264         6  \n",
       "482          2  \n",
       "2561         9  \n",
       "374         11  \n",
       "935          X  \n",
       "628          3  \n",
       "788          8  \n",
       "1383         8  \n",
       "478          2  \n",
       "253         11  \n",
       "1754         7  \n",
       "2229         6  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_ddr_annotations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def num_ddr(row, allowed):\n",
    "    patient_id = row[\"patient_id\"]\n",
    "    df_ddr_patient = df_ddr_annotations[df_ddr_annotations.patient_id == patient_id]\n",
    "    df_ddr_patient = df_ddr_patient[df_ddr_patient.hvar_pred.isin(allowed)]\n",
    "    return len(df_ddr_patient)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def num_ddr_probably(row):\n",
    "    return num_ddr(row, allowed=[\"probably damaging\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def num_ddr_possibly(row):\n",
    "    return num_ddr(row, allowed=[\"possibly damaging\", \"probably damaging\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def has_ddr_probably(row):\n",
    "    return num_ddr(row, allowed=[\"probably damaging\"]) >= 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def has_ddr_possibly(row):\n",
    "    return num_ddr(row, allowed=[\"possibly damaging\", \"probably damaging\"]) >= 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from utils.paper import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mann-Whitney test: U=79.5, p-value=0.595648427729 (two-sided)\n",
      "{{{num_ddr_probably_plot}}}\n",
      "{{{num_ddr_probably_benefit:0.00 (range 0.00-1.00)}}}\n",
      "{{{num_ddr_probably_no_benefit:0.00 (range 0.00-3.00)}}}\n",
      "{{{num_ddr_probably_mw:n=25, Mann-Whitney p=0.60}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAGHCAYAAABS9T4EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVfW+//HXAgREhkAFIQ1zSI+aww31aKUlRafsmlZm\nOYtTDthgZvYrzczspp3jUY4Ph+NYp0ErLctSc8CkTO2YZE7HCVPQBBlE5u36/eFlXxEVtrBZbnw/\nHw8eD/Zaa6/12bjc772+37W/X8M0TRMREbmpuVldgIiIWE9hICIiCgMREVEYiIgICgMREQE8rC7A\nUbm5uezZs4fatWvj7u5udTkiIi7BZrNx5swZWrRogbe3d4n1LhcGe/bsoU+fPlaXISLikv71r38R\nERFRYrnLhUHt2rWBiy+oTp06FlcjIuIaTp06RZ8+fezvoZdzuTAoahqqU6cOdevWtbgaERHXcrXm\ndXUgi4iIwkBERBQGIiKCwkBERFAYiIgICgMREUFhICIiKAxERASFgYiIoDAQEREUBiIigsJAxGFv\nvPEGbm5uHDp0iEcffRQ/Pz/q16/PlClT7NucP3+emJgYwsPD8fb2JiQkhKioKA4ePGhh5SJX53ID\n1YlYzTAMAB5//HEGDRrEiy++yOrVq5k0aRK33XYbAwYM4Pnnn+err75i2rRpNGrUiNTUVOLj40lP\nT7e4epErUxiIXAfDMHjppZfo378/AF26dGHDhg189NFHDBgwgG3bttGnTx8GDhxof85jjz1mUbUi\npVMYiFynRx55pNjjFi1a8MsvvwDQtm1blixZQs2aNYmKiqJNmza4ualVVm5cOjtFrlNQUFCxx15e\nXuTm5gIwe/Zshg8fzuLFi2nXrh3BwcG8+OKL5OTkWFGqSKkUBiJOUKNGDaZOncrBgwc5duwY/+//\n/T9iY2N58803rS5N5IoUBiJOVq9ePV544QXuvPNO9uzZY3U5IlekPgMRJ+jYsSPdunXjzjvvxNfX\nl82bN5OQkMCgQYOsLk3kihQGIteh6PbSqy3v1KkTK1as4H/+538oLCykQYMGzJw5k1GjRlVmmSJl\nZpimaVpdhCNOnDhBZGQkGzZsoG7dulaXIyLiEkp771SfgYiIqJnoZjd//nw+/PBDq8sQuaLevXsz\nbNgwq8u4KejK4Cb34Ycf2r8oJXIj+eWXX/RBpRLpykBo3bo1mzdvtroMkWLuu+8+q0u4qejKQERE\nFAYiIqIwEBERFAYiIoLCQEREUBiIiAgKAxERQWEgIiIoDEREBIWBiIhwA4XB4MGDadq0KX//+9+t\nLkVE5KZzQ4TBV199xYEDB646YYiIiDiX5WGQkZHBO++8w6uvvoqLzbMjIlJlWB4GM2bMoEmTJjzy\nyCNWlyIictOydAjrnTt38uWXX/Lll19aWYaIyE3PsiuDgoIC3njjDQYPHkx4eLhVZYiICBaGwYIF\nC8jLy+PZZ5+1qgQREflfloRBcnIy8+bN47nnniMvL49z586RmZkJQH5+PufOnePChQtWlCYiclOy\npM/g999/Jz8/n3HjxhW7g8gwDBYuXMiiRYtYuXIlTZs2taI8EZGbjiVh0KxZM5YtW1Zieb9+/Xjs\nscfo2bOn+hFERCqRJWHg6+tL27Ztr7guLCyMiIiISq5IROTmZvn3DC5lGIa+hSwiYgFLv2dwuX37\n9lldgojITemGujIQERFr3FBXBlL5oqOjrS5B5Ip0blYuhcFNrn///laXIHJFOjcrl5qJREREYSAi\nIgoDERFBYSAiIigMREQEhYGIiKAwEBERFAYiIoLCQEREUBiIiAgKAxERQWEgIiIoDEREBIWBiIig\nMBARERQGIiKCwkBERFAYiIgICgMREUFhICIiKAxERASFgYiIoDAQEREUBiIigsJARERQGIiICAoD\nERFBYSAiIigMREQEhYGIiKAwEBERFAYiIoLCQEREcDAMdu/e7aw6RETEQg6FQa9evejWrRvvv/8+\nGRkZzqpJREQqmcPNRP/5z394++236dSpE2PHjmXbtm3OqEtERCqRQ2EwaNAgQkJCME2TvLw81qxZ\nw6BBg4iKimL+/PmcOXPGWXWKiIgTORQG48ePZ/PmzXzwwQc888wzBAUFYZomx48f529/+xv3338/\nY8aMYd++fc6qV0REnOC67iaKiIhg0qRJfPrpp7Rt29a+vLCwkPXr19OzZ0++++67CitSRESc67rC\nID4+npiYGB588EF27twJgGmaNGvWjHr16lFYWMjMmTMrtFAREXEeD0c2/uc//8ny5cv5/fffgYsB\n4ObmRmRkJAMHDiQiIoLs7Gw6derEsWPHnFGviIg4gUNhMGPGDAzDwDRNfH19eeKJJ+jXrx9169a1\nb+Pj40OtWrVITEys8GJFRMQ5HAoDgLp169K3b1+efPJJatSoccVtli5dSmFhYbmLExGRyuFQGMTG\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8fc6d80a10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mann_whitney_hyper_label_printer(cohort.plot_benefit(num_ddr_probably), \"num_ddr_probably\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "has_ddr_probably  False  True \n",
      "Response                      \n",
      "DCB                   6      3\n",
      "No DCB               13      3\n",
      "Fisher's Exact Test: OR: 0.461538461538, p-value=0.630039525692 (two-sided)\n",
      "{{{has_ddr_probably_fishers:n=25, Fisher's Exact p=0.63}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nRX0kgiDA1vZ/Y9MFQUD9+vXRvn17BAUFab9SIiLSS6UGiZ+fH/z8/AAALi4uAIBjx45VTlVERFRl\nyHqy/cW+EiIiomKygqRz584AgNTUVCQlJSE/P7/ENly/hIioZpIVJKmpqZg+fTpOnz790ve51C4R\nUc0lK0jmzp2LP//8U9u1EBFRFSQrSP766y8IggBLS0t06tQJ9erVk4YFExFRzSYrSERRBABs3boV\nTZs21WpBRERUtciaIqVnz54AoLXVtYiIqOqSFSQjR46EqakpgoODceLECdy/fx9JSUkqP0REVDPJ\nurU1fPhwCIKAGzduYPz48SXe56gtIqKaS/ZSu8X9JERERM+TFSSDBw/Wdh1ERFRFyQqShQsXarsO\nIiKqoiq8sFVaWhoUCoU2aiEioipIdpCcP38eAwcORPfu3fHee+8BAKZMmQJfX19cvHhRawUSEZF+\nkxUkt27dwujRo3H79m2Ioih1vDs5OeHs2bM4ePCgVoskIiL9JStIVq1ahfz8fFhYWKi09+7dGwBw\n9uxZzVdGRERVgqwgiY2NhSAI2Lhxo0p78+bNAQAPHjzQfGVERFQlyAqS7OxsAICzs7NKe/G6JI8f\nP9ZwWUREVFXIChJLS0sAwD///KPSvmvXLgBAw4YNNVwWERFVFbKCpEuXLgCAoKAgqW3MmDFYtGgR\nBEFA165dtVMdERHpPVlBMn78eBgZGSEpKUlah+TPP/9EYWEhjIyMMHbsWK0WSURE+ktWkDg5OWH9\n+vVwdHSUhv+KoghHR0esW7cOTk5O2q6TiIj0lOxJG93c3PDbb78hPj4eaWlpaNCgARwcHLRZGxER\nVQGyg6SYg4MDA4SIiCSybm19/vnnaN26NVatWqXSvmrVKrRu3Rqff/65VoojIiL9JytILly4AAB4\n//33VdoHDhwIURRx/vx5zVdGRERVgqwgefjwIQDAyspKpb34+ZG0tDQNl0VERFWFrCAxMjIC8L8r\nk2LFr+vWravhsoiIqKqQFSQtW7aEKIoIDQ3F3r17cfXqVezduxczZ86EIAho2bKltuskIiI9JXup\n3b///hspKSn44osvpHZRFCEIApfiJSKqwWRdkXz00Ufw9vZWeRixeE2Svn374sMPP9RqkUREpL9k\nP0cSFhaG3377DceOHZMeSPT09MQ777zzSid+8OABFixYgD///BOiKKJbt26YOXMmbG1ty9zvypUr\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8fc471fe90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "hyper_label_printer(fishers_exact_formatter, \"has_ddr_probably_fishers\", results=cohort.plot_benefit(has_ddr_probably))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mann-Whitney test: U=92.0, p-value=0.196086956526 (two-sided)\n",
      "{{{num_ddr_possibly_plot}}}\n",
      "{{{num_ddr_possibly_benefit:1.00 (range 0.00-2.00)}}}\n",
      "{{{num_ddr_possibly_no_benefit:0.00 (range 0.00-3.00)}}}\n",
      "{{{num_ddr_possibly_mw:n=25, Mann-Whitney p=0.20}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAGHCAYAAAC9N1U6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcFWX///HXAAIqi+CCoKa5kma5p3ZbikulLVa33nea\n+5aKltmi9bDNzDLNSiX3UususzS1utOvoqa2aqa5526AKAqIssP8/uDm/CQ8OijDEXg/Hw8fca6Z\nM/M5dDjvM3PNXJdhmqaJiIiUWm6uLkBERFxLQSAiUsopCERESjkFgYhIKacgEBEp5TxcXUBBpKam\nsnv3bipXroy7u7uryxERKRaysrI4c+YMt956K97e3vmWF6sg2L17N71793Z1GSIixdInn3xCixYt\n8rUXqyCoXLkykPNiqlat6uJqRESKh1OnTtG7d2/HZ+jfFasgyD0dVLVqVapXr+7iakREihdnp9Qt\ndRbv2rWLTz75hJ9++gmAH374gfvuu48mTZowatQokpOTC69SEREpUpaCYP78+bz++uscO3aMjIwM\nxo4dy7Fjx0hNTWXdunXMnDnT7jpFRMQmloJg7969ALRu3Zo9e/YQHx9PpUqVaNSoEaZpsn79eluL\nFBER+1gKgrNnzwIQHBzMn3/+CcDQoUOZM2cOANHR0TaVJyIidivQDWUpKSkcPHgQwzCoW7cufn5+\ngPMOCBERufFZumooKCiI48eP88QTT3D48GEA6tWrx+nTpwEICAiwr0IREbGVpSOCzp07Y5omO3fu\nJCkpicaNG1OpUiV27doFQIMGDWwtUkRE7GPpiCA8PJwLFy6wbds2qlevzgsvvABATEwMbdq0oWvX\nrrYWKSIi9rEUBF5eXrz88sv52gcNGsSgQYMKvSgRESk6Gn1URKSUs3REkJmZyfz581m5ciXR0dGk\np6fnWW4YhuNeAxERKV4sHRFMnz6d9957j2PHjpGWloZpmvn+iZQGr7zyCm5ubhw6dIj7778fX19f\natWqxcSJEx3rXLx4kVGjRlGzZk28vb0JCgqiS5cuHDx40IWVizhn6Yjg22+/dXzYV6hQgXLlytla\nlMiNyjAMAB555BEGDBjA008/zerVq3n55Ze56aab6NevH0899RRff/01kydPpm7dupw9e5atW7eS\nkJDg4upFLs9SEMTHx2MYBhEREXTo0MHumkRuaIZh8Mwzz9C3b18AwsLCWL9+PZ9++in9+vXjp59+\n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\n25udO3c6llWtWlWniGxQpkwZWrRo4eoyRCypU6fOVS9mCAwMpG3btkVUUclnKQiWL18OkC+dq1ev\n7lg+ZswYAgMD83X2/N3mzZsxDIPZs2cze/bsPMtGjhyp3n8RkSJmeWIagHHjxvHkk08SEhLiuOwT\nICkpybFuuXLlrrityMjIa61VRERsYCkImjdvztatW9m4cSMbN27Ms8wwDJo3b86FCxc4d+4ct9xy\nix11ioiITSzNWTxhwgQqVaqEaZr5/lWsWJEJEyawe/duGjZsSNeuXe2uWURECpGlI4JatWqxatUq\nFi1axE8//UR8fDwBAQG0bt2afv36ERgYSK1atRx3+4mISPFh+T6CwMBAxowZY2ctIiLiAgUea+jc\nuXOkpqbmaw8JCSmUgkREpGhZDoJZs2axePFizp8/n29ZQSamERGRG4ulIPj0008dl4qKiEjJYumq\nodwbyqpWrQrkHAE0bNgQwzAIDg4u1IlrRESkaFkKgsOHD2MYBnPnznW0LV++nNdff52EhARGjx5t\nW4EiImIvS0GQnp4O5IwBkjtUbEZGBvfffz8pKSlMmTLFvgpFRMRWlvoIfH19SUhIID09HV9fX86f\nP8+yZcsoX748AAcPHrS1SBERsY+lIAgODiYhIYG4uDjq16/Ptm3bmDhxIpDTX1C5cmVbixQREftY\nOjXUuHFjypQpw65du3jsscfyDTPRp08fu+sUERGbWDoiePXVV3n11Vcdj03T5Ntvv8Xd3Z3OnTvz\nwAMP2FagiIjYq8B3FgN069aNbt26FXYtIiLiApaDIDs7m507dxITE+O4iuhS3bt3L9TCRESkaFgK\ngsOHDzNixAhOnDhx2eWGYSgIRESKKUtB8Morr3D8+HG7axERERewFAR79uzBMAw6depEu3btKFOm\njN11iYhIEbEUBJUqVeLkyZNMnjwZHx8fu2sSEZEiZOk+gmHDhmGaJgsXLrxsR7GIiBRflo4IHn30\nUdavX88HH3zAvHnzqFixIu7u7o7lhmGwbt0624oUERH7WAqCOXPmEBkZiWEYZGRkEBsb61hmmiaG\nYdhWoIiI2MtSECxZsgTI+dC/9L8iIlL8WQqC5ORkDMNgxowZtGvXDi8vL7vrEhGRImKpszgsLAzI\nGXxOISAiUrJYOiK499572bp1K0OGDKFv375Uq1YND4+8T9V0lSIixZOlIAgPD8cwDBISEpgwYUK+\n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\n+39J1oyLMDY14QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8fc4715590>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mann_whitney_hyper_label_printer(cohort.plot_benefit({\"# Possible Damaging DDR Mutations\": num_ddr_possibly}), \"num_ddr_possibly\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "With Damaging DDR Mutations  False  True \n",
      "Response                                 \n",
      "DCB                              4      5\n",
      "No DCB                          12      4\n",
      "Fisher's Exact Test: OR: 0.266666666667, p-value=0.199755258875 (two-sided)\n",
      "{{{has_ddr_possibly_fishers:n=25, Fisher's Exact p=0.20}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8fc6ab0c10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "hyper_label_printer(fishers_exact_formatter, \"has_ddr_possibly_fishers\", results=cohort.plot_benefit({\"With Damaging DDR Mutations\": has_ddr_possibly}))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from cohorts.functions import missense_snv_count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def missense_ddr_snv_count(row, cohort, filter_fn=None, normalized_per_mb=None, **kwargs):\n",
    "    from cohorts.variant_filters import no_filter\n",
    "    from cohorts.utils import first_not_none_param\n",
    "    filter_fn = first_not_none_param([filter_fn, cohort.filter_fn], no_filter)\n",
    "    normalized_per_mb = first_not_none_param([normalized_per_mb, cohort.normalized_per_mb], False)\n",
    "    \n",
    "    patient_id = row[\"patient_id\"]\n",
    "    def ddr_filter_fn(filterable_effect):\n",
    "        if filter_fn is not None:\n",
    "            return (filter_fn(filterable_effect) and \n",
    "                    filterable_effect.effect.gene in ddr_genes)\n",
    "        return filterable_effect.effect.gene.id in impact_gene_ids\n",
    "    return missense_snv_count(row, cohort, filter_fn=ddr_filter_fn)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "inner join with ensembl_coverage: 25 to 25 rows\n",
      "Mann-Whitney test: U=97.0, p-value=0.160848837562 (two-sided)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "MannWhitneyResults(U=97.0, p_value=0.160848837562, sided_str='two-sided')"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAGLCAYAAADtWxSpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlclOX+//HXDQiiAoq470pq6nE301xxKy0zLT3pCY3U\nUjGXLLO+tudaWaSeyrLUk2n7sVKzkCy1Ms0l93CNRRMUFBUQ5v79wWF+IirczIzD8n4+HjyOc93b\nZzjTvLnv676vyzBN00RERKSAPNxdgIiIFG0KEhERcYiCREREHKIgERERhyhIRETEIQoSERFxiNuC\n5MSJEzz66KO0bduWNm3aMH78eOLj4y3v55133qFx48YMGzbMBVWKiEheDHc8R5Kamkr//v3x8fFh\n0qRJAMybN4+0tDRWrVpF6dKl87Wfv/76i/79+1O2bFnq1KnDhx9+6MqyRUTkKrzccdCVK1cSGxvL\n2rVrqVWrFgANGzakT58+rFixghEjRuRrP8899xz9+/fn8OHD2Gw2F1YsIiLX4pYgiYqKokWLFvYQ\nAahZsyatW7cmMjIyX0Hy1VdfsW/fPubNm8e4cePyfezU1FR2795NpUqV8PT0LEj5IiIlSmZmJqdO\nnaJZs2ZXvWLkliCJjo6mR48eudqDg4P59ttv89z+7NmzzJo1iyeeeAJ/f39Lx969e7f6U0RECuDD\nDz+kbdu2udrdEiRJSUkEBATkag8ICODs2bN5bj979mzq1avHgAEDLB+7UqVKQNYvpGrVqpa3FxEp\naU6cOMGwYcPs359XckuQOGLr1q2sWrWKL7/8skDbZ1/Oqlq1KjVr1nRmaSIixdq1ugPcEiQBAQEk\nJyfnak9OTs7zUtWzzz7LvffeS+XKlTl37hymaZKZmYnNZuPcuXP4+Pjg7e3tqtJFROQKbgmS4OBg\noqOjc7VHR0fToEGD62576NAhDh8+zEcffZRr2S233MK0adMIDQ11Wq0iInJ9bgmSkJAQ5s6dS0xM\njP3yUkxMDNu3b2fKlCnX3XbZsmW52l5++WVsNhvPPPNMjjvBRETE9dwSJIMHD2b58uWMHTuWCRMm\nABAREUH16tUZMmSIfb24uDh69uxJeHg4Y8eOBaBdu3a59ufn54fNZrvq3QQiIuJabhkixdfXlyVL\nllC3bl2mTp3KE088Qe3atfnggw/w9fW1r2eapv0nL4ZhuLJkERG5BrfdtVW1alUiIiKuu06NGjXY\nt29fnvu62uUuERG5MTT6r4iIOERBIiIiDlGQiIiIQxQkIiLiEAWJiIg4REEicgM999xzeHh4EB0d\nzZ133omfnx9169blxRdftK9z/vx5xo8fT506dShdujRVqlShd+/eHDx40I2Vi1xbkRu0UaQoy37e\naeDAgTz44INMnjyZr776imeffZbatWszfPhwJk6cyNdff83MmTMJDg4mMTGRTZs2kZSU5ObqRa5O\nQSJygxmGwZQpU+xjwoWEhBAZGclHH33E8OHD+eWXXxg2bFiOCd7uvvtuN1UrkjcFiYgb9O3bN8fr\nZs2asWPHDiBrGKAPPviAihUr0rt3b1q1aoWHh65CS+GlT6eIGwQGBuZ47ePjQ2pqKgBvvvkmDz/8\nMO+//z633HILlStXZvLkyVy8eNEdpYrkSUEiUsiULVuWl19+mYMHD3L06FGefvpp5s+fzwsvvODu\n0kSuSkEiUojVqlWLSZMm8Y9//IPdu3e7uxyRq1IfiUgh07FjR/r3788//vEPypUrxw8//MCuXbt4\n8MEH3V2ayFUpSERusGtNeZDd3qVLFz755BNmz55NRkYG9evX5/XXX2fcuHE3skyRfDPM/Ez2UYzE\nxMTQo0cPIiMj7bMziojIteX1vak+EhERcYgubUmBvfPOOyxfvtzdZYhc09ChQxk9erS7yyj2dEYi\nBbZ8+XL7Q3Qihc2OHTv0h84NojMScUjLli354Ycf3F2GSC7dunVzdwklhs5IRETEIQoSERFxiIJE\nREQcoiARERGHKEhERMQhChIREXGIgkRERByiIBEREYcoSERExCEKEhERcYiCREREHKIgERERhyhI\nRETEIQoSERFxiIJEREQcoiARERGHKEhERMQhChIREXGIgkRERByiIBEREYcoSERExCEKEhERcYiC\nREREHKIgERERh3i5uwApusLCwtxdgsg16fN54yhIpMBCQ0PdXYLINenzeePo0paIiDhEQSIiIg5R\nkIiIiEMUJCIi4hAFiYiIOERBIiIiDrEUJI0bN6ZJkyZXXRYaGsrw4cOdUpSIiBQdlp8jMU3zqu1b\ntmzBMAyHCxIRkaLFKZe29u/fD6AgEREpgfI8I5k/fz4LFiywvzZNk5tvvvmq6wYFBTmvMhERKRLy\ndWnrystZ17q81aNHD8crEhGRIiXPIKlRowbt2rUD4LfffsMwDNq2bWtfbhgG5cuXp2XLlgwbNsx1\n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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8fc3c13c90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cohort.plot_benefit(missense_ddr_snv_count)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mann-Whitney test: U=101.0, p-value=0.215999754743 (two-sided)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "MannWhitneyResults(U=101.0, p_value=0.215999754743, sided_str='two-sided')"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAGLCAYAAADtWxSpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlYVeX+/vH3AgRRAUGcZ0UlLXGejiNOlWWmpSdNNFNL\n0CwbzPranJlalqkNniz15Gx6LM0sNMs0TXPI+eDM4ISAI/P6/cFh/0RUWGy2G+R+XZdX7jV+Nm25\n97OetZ7HME3TREREJI9cnF2AiIgUbgoSERGxi4JERETsoiARERG7KEhERMQuChIREbGL04Lk1KlT\nPPPMMzRr1oymTZsyatQoYmJiLB/niy++IDAwkAEDBjigShERyYnhjOdIEhMT6dmzJx4eHjz33HMA\nTJ06laSkJFauXEnx4sVzdZyTJ0/Ss2dPSpYsSfXq1fnmm28cWbaIiNyAmzNOumjRIqKiolizZg1V\nq1YFoG7dunTv3p2FCxcyePDgXB3njTfeoGfPnhw5coT09HQHViwiIjfjlCBZv349QUFBthABqFKl\nCk2aNCE8PDxXQfLdd9+xf/9+pk6dSlhYWK7PnZiYyJ49eyhbtiyurq55KV9EpEhJS0vj7Nmz3H33\n3Te8YuSUIImIiKBz587ZlgcEBPDjjz/muP+FCxeYOHEiL730Et7e3pbOvWfPHvWniIjkwTfffEOz\nZs2yLXdKkMTHx+Pj45NtuY+PDxcuXMhx//fff5+aNWvSq1cvy+cuW7YskPEDqVChguX9RUSKmlOn\nTjFgwADb78/rOSVI7LFt2zZWrlzJihUr8rR/5uWsChUqUKVKlfwsTUTkjnaz7gCnBImPjw8JCQnZ\nlickJOR4qer111/nkUceoVy5cly8eBHTNElLSyM9PZ2LFy/i4eGBu7u7o0oXEZHrOCVIAgICiIiI\nyLY8IiKC2rVr33Lfw4cPc+TIERYsWJBtXYsWLRg3bhwhISH5VquIiNyaU4IkODiYyZMnExkZabu8\nFBkZyY4dO3jhhRduue+8efOyLXv33XdJT0/ntddey3InmIiIOJ5TgqRv377Mnz+f0NBQRo8eDcC0\nadOoVKkS/fr1s20XHR1Nly5dGDlyJKGhoQA0b9482/G8vLxIT0+/4d0EIiLiWE4ZIsXT05M5c+ZQ\no0YNxo4dy0svvUS1atX4+uuv8fT0tG1nmqbtT04Mw3BkySIichNOu2urQoUKTJs27ZbbVK5cmf37\n9+d4rBtd7hIRkdtDo/+KiIhdFCQiImIXBYmIiNhFQSIiInZRkIiIiF0UJCK30RtvvIGLiwsRERE8\n8MADeHl5UaNGDd5++23bNpcvX2bUqFFUr16d4sWLU758ebp168ahQ4ecWLnIzRW6QRtFCrPM5516\n9+7NE088wZgxY/juu+94/fXXqVatGoMGDeLZZ5/l+++/57333iMgIIDY2Fh+//134uPjnVy9yI0p\nSERuM8MweOGFF2xjwgUHBxMeHs6CBQsYNGgQf/zxBwMGDMgywdtDDz3kpGpFcqYgEXGC+++/P8vr\nu+++m507dwIZwwB9/fXXlClThm7dutG4cWNcXHQVWgoufTpFnMDPzy/Law8PDxITEwH45JNPeOqp\np/jqq69o0aIF5cqVY8yYMVy9etUZpYrkSEEiUsCULFmSd999l0OHDnHs2DFeffVVpk+fzltvveXs\n0kRuSEEiUoBVrVqV5557jnvuuYc9e/Y4uxyRG1IfiUgB06ZNG3r27Mk999xDqVKl+OWXX9i9ezdP\nPPGEs0sTuSEFichtdrMpDzKXt2/fniVLlvD++++TmppKrVq1+OijjwgLC7udZYrkmmHmZrKPO0hk\nZCSdO3cmPDzcNjujiIjcXE6/N9VHIiIidtGlLcmzL774gvnz5zu7DJGb6t+/P8OHD3d2GXc8tUgk\nz+bPn297iE6koNm5c6e+6NwmapGIXRo1asQvv/zi7DJEsunYsaOzSygy1CIRERG7KEhERMQuChIR\nEbGLgkREROyiIBEREbsoSERExC4KEhERsYuCRERE7KIgERERuyhIRETELgoSERGxi4JERETsoiAR\nERG7KEhERMQuChIREbGLgkREROyiIBEREbsoSERExC4KEhERsYuCRERE7KIgERERuyhIRETELgoS\nERGxi4JERETs4ubsAqTwGjJkiLNLELkpfT5vHwWJ5FlISIizSxC5KX0+bx9d2hIREbsoSERExC4K\nEhERsYuCRERE7KIgERERuyhIRETELpaCJDAwkPr1699wXUhICIMGDcqXokREpPCw/ByJaZo3XL51\n61YMw7C7IBERKVzy5dLWgQMHABQkIiJFUI4tkunTpzNjxgzba9M0ueuuu264rb+/f/5VJiIihUKu\nLm1dfznrZpe3OnfubH9FIiJSqOQYJJUrV6Z58+YA/PnnnxiGQbNmzWzrDcOgdOnSNGrUiAEDBjiu\n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\nH8bf35/+/fszdOjQLLUdPHiQzz//nK1btxIfH0+pUqVo1KgRQ4cOzXL+ay/ZzZgxg40bN7J27VqS\nkpIICgritddeo3r16rbt165dy5w5czhy5AiXLl3Cx8eHGjVq0LlzZ5544gnbdocPH+azzz5jy5Yt\nnD9/Hm9vb5o1a0ZYWBj16tXLn/8BcsdQkEiRdu1Qc2XKlAEyBu/r378/8fHxttGWL168yG+//cbv\nv//OBx98wH333QfA2LFj+fXXX7OMynz8+HGOHz9Oz549bUECGZfVDh06xIgRI2znjY6OZsqUKVy9\nepVRo0YB8McffzB8+HCSk5Ntx01ISOCXX37h119/ZdKkSTzwwANZ3odhGIwbN46LFy/alv3++++M\nGDGCVatWYRgGu3fv5tlnn83ynmNjY4mNjSUxMdEWJNu2bWPo0KFZJpaKi4tj7dq1bNiwgdmzZ9O0\nadM8/sTlTqRLW1JkHT58mJ9++gnImECsU6dOALz77rvEx8fj7e3N3Llz2b17Nz/++CO1atXCNE3e\nfvttUlNTgYxfuoZh0LVrV7Zt28b27dtZuXIlY8eOpXz58tnOeeHCBZ577jm2bdvGl19+SfHixYGM\nof/j4uIAeP3110lJScEwDN588022b99umzY28/yJiYnZju3l5cV//vMffvvtN9u84UePHmX37t0A\nbN++nfT0dAAWLVrEnj172LBhA5999lmWYBo/fjxJSUlUqlSJb7/9lr///pvly5fj5+dHcnIyb731\nVr78/OXOoRaJFDnX38FVvXp13n33Xfz8/EhKSuKPP/7AMAwuXLjAwIEDs+0fFxfHvn37aNiwIVWq\nVOHQoUPs2LGDmTNnEhAQQN26dRk0aNAN5wMvX768bd6YNm3a0KVLF77//ntSUlLYtm0bderU4fjx\n4xiGQb169ejbty8AnTt3pmPHjvz8889cuHCBHTt2ZJuxb8iQIdStWxeA9u3b22bqi4qKIigoiCpV\nqti2/fzzz2natCm1atWiYcOGtrk9jh8/ztGjRzEMg6ioKB5++OFs7+HQoUPExsbaWnAiChIpcq79\nBW+aJomJiaSkpAAZc2CkpaXZ7uy62f6ZrYd33nmHl19+maNHjzJ79mzbZaNKlSoxc+ZMW99Iputv\nMa5UqZLt73FxcVlmBMy8EeBG295o5sDMVghktLAyZc7617VrVwYMGMDSpUtZt24d69atwzRNXF1d\n+ec//8n48eOJjY294c/p+vcfHx+vIBEbBYkUOWFhYTz99NP8+OOPvPTSS5w+fZqRI0eyatUqfH19\ncXV1JT09nerVq7NmzZpbHqthw4asXr2a6Ohojhw5woEDB5g5cyYxMTFMmTKFf/3rX1m2P336dJbX\n13bw+/r6ZvnlfO1kTde/zpzU6Vpubv//n/PNQmD8+PGMHTuWgwcPcvz4cb777js2bNjA/Pnz6dmz\nZ5bzt2nThi+//PJWb18EUB+JFFFubm706NGD/v37A3DlyhWmTJmCh4cHrVq1wjRNjh8/zuTJk21T\nwx45coSvvvqKQYMG2Y4zdepU1q9fj4uLCy1btuTee+/Fx8cH0zSzBQHAqVOnmDVrFpcvX+b333/n\n559/BqBYsWI0a9aM6tWrU6NGDUzT5ODBgyxevJgrV66wbt061q9fD4C3tzeNGze2/J7//PNPZs2a\nxZEjR6hRowbdunUjKCjItj46OjrL+Tdv3sycOXO4ePEiycnJHDhwgOnTp2eZflkE1CKRIi40NJRv\nv/2Wy5cvs3r1aoYOHcorr7zCgAEDSEhI4Msvv8z2rbxy5cq2v//www98/vnn2Y5rGAbt2rXLttzP\nz4+PP/6YDz74IMu2w4cPx9fXF4A333zTdtfWa6+9xmuvvWbb1tXVlddee83WSW9FTEwMH3zwQZZz\nZypRooTtTqy3336bYcOGkZSUxHvvvcd7772XZdsWLVpYPrfc2dQikSLjRpd7fH19efLJJzEMA9M0\n+fDDD6lduzb/+c9/eOyxx6hWrRru7u54e3tTp04dHn30Ud58803b/o8//jitW7emfPnyuLu7U7x4\ncerUqcMzzzzDiy++mO18tWvX5osvvuDuu+/Gw8ODSpUq8eKLLzJy5EjbNi1btmTJkiXcf//9lC1b\nFjc3N0qXLk2nTp2YN28ePXr0yPa+bvTerl/eoEED+vTpQ0BAAN7e3ri5ueHn50dwcDBz586lXLly\nQMazLsuWLaNXr15UrFiRYsWKUbp0aQIDAwkJCWHMmDHWf/hyR9Oc7SK3QWBgIIZh0Lx5c+bOnevs\nckTylVokIreJvrPJnUp9JCK3QeYlppvdTSVSmOnSloiI2EWXtkRExC4KEhERsYuCRERE7KIgERER\nuyhIRETELgoSERGxy/8DaseTMBwUL6oAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8fc4373ed0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cohort.plot_benefit_os(on=missense_ddr_snv_count)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df_clinical = cohort.as_dataframe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "df_ddr_annotations.merge(df_clinical, on=\"patient_id\").to_csv(\"ddr_polyphen.csv\", encoding='utf-8')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
